home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Just Call Me Internet
/
Just Call Me Internet.iso
/
prog
/
atari
/
m2
/
cat3src
/
magic
/
d
/
mtstacks.d
< prev
next >
Wrap
Text File
|
1997-10-26
|
3KB
|
68 lines
(*----------------------------------------------------------------------*
* *
* MAGICTOOLS Modula's All purpose GEM Interface Cadre Toolbox *
* ÿ ÿ ÿ ÿ ÿ *
*----------------------------------------------------------------------*
* Version 3.30 02.02.1992 (C)90/91/92 by Peter Hellinger Software *
*----------------------------------------------------------------------*
* Dieses Modul ist urheberrechtlich geschtzt. *
* *
* Die Verffentlichung des Quelltextes oder Teilen daraus, sowie die *
* Verbreitung des bersetzten, nicht gelinkten Codes in schriftlicher, *
* oder maschinenlesbarer Form, insbesondere in Zeitschriften, Mail- *
* boxen oder anderen Medien bedarf der ausdrcklichen schriftlichen *
* Einverstndnisserklrung des Autors. *
* *
* Die Verbreitung des Moduls als Teil eines gelinkten Programms ist *
* fr Lizenznehmer ausdrcklich erlaubt! Der Autor behlt sich das *
* Recht vor, diese Erlaubnis jederzeit und ohne Angaben von Grnden zu *
* widerrufen. *
*----------------------------------------------------------------------*)
(*----------------------------------------------------------------------*
* mtStack Implementiert eine Struktur nach dem LIFO-Prinzip (Last *
* In, First Out), auch als Keller oder Stack bekannt. Durch die typ- *
* lose Datenform der zu speichernden Information kann das Modul sehr *
* flexibel eingesetzt werden. Maximale Speichergre der Information *
* ist 32kb. *
*----------------------------------------------------------------------*)
DEFINITION MODULE mtStacks;
FROM MagicSys IMPORT Nil, Null, Bit0, Bit1, Bit2, Bit3, Bit4, Bit5, Bit6,
Bit7, Bit8, Bit9, Bit10, Bit11, Bit12, Bit13, Bit14,
Bit15, LOC, Byte, ByteSet, sWORD, sINTEGER, sCARDINAL,
sBITSET, lINTEGER, lCARDINAL, lWORD, lBITSET;
TYPE STACK;
PROCEDURE NewStack (VAR stack: STACK): BOOLEAN;
(* Generiert einen neuen Stack *)
PROCEDURE DisposeStack (VAR stack: STACK);
(* Lscht einen Stack, wenn der Stack nicht leer ist, wird er vorher
* gelscht
*)
PROCEDURE StackEmpty (stack: STACK): BOOLEAN;
(* TRUE, wenn der Stack leer ist *)
PROCEDURE StackEntries (stack: STACK): lCARDINAL;
(* Anzahl der Eintrge im Stack *)
PROCEDURE Push (stack: STACK; info: ARRAY OF LOC): BOOLEAN;
(* Legt ein Element auf dem Stack ab, FALSE wenn dabei ein Fehler auftritt *)
PROCEDURE Pop (stack: STACK; VAR info: ARRAY OF LOC): BOOLEAN;
(* Holt ein Element vom Stack. Es wird nur kopiert, wenn die
* Datenstruktur gleich oder grer als die gespeicherte Struktur ist.
* FALSE wenn dabei ein Fehler auftritt (info zu klein, Stack leer).
*)
END mtStacks.